Pressidian
花园入口
笔记
项目
关于
实验室
GitHub
花园入口
笔记
项目
关于
实验室
GitHub

KNOWLEDGE PATHS

笔记库
当前位置
笔记库/前端/面试/面经

17 字节-一面-飞书

1 分钟阅读 · Note

目录树 578 篇

          • 0 面试技巧&HR面⬇️
          • 1磐松资产-前端实习-一面
          • 2字节跳动-豆包前端实习-全部
          • 3百度-前端实习面试-一面
          • 5光庭-前端实习-一面
          • 6懂车帝-前端实习-一面
          • 7字节-抖音团购-全部
          • 8腾讯-前端-全部
          • 9字节&美团-笔试
          • 10 美团-一面
          • 11 B站-一面
          • 12 腾讯-一面-企业微信团队
          • 13 腾讯-一面-腾讯金融科技
          • 14 腾讯-二面-腾讯金融科技
          • 15 美团-一面-核心本地商业
          • 16 斑马智行-全部
          • 17 字节-一面-飞书
          • 18 美团-二面-核心本地商业
          • 19 心影随形-全部
          • 20 thunderbit-全部
          • 21 converge ai-全部
          • 22 字节-国际化广告创意与品牌
        • 可投递企业
      • 前端技术栈
    • 笔记目录
    • CLAUDE.md
    • Vue 组件与 Render 函数

关联笔记 6

↗0 面试技巧&HR面⬇️同一路径↗10 美团-一面同一路径↗11 B站-一面同一路径↗12 腾讯-一面-企业微信团队同一路径↗13 腾讯-一面-腾讯金融科技同一路径↗14 腾讯-二面-腾讯金融科技同一路径
  • 17 字节-一面-飞书

17 字节-一面-飞书

> Last Format Time:6/12/2026 21:03:57

6/12/26 【理由】原文无 H1,章节使用 ### code / ### 提问,违反层级规则。 原内容:缺失 H1;首段使用 ### code 与 ### 提问

提问

  • const\let\var的区别
  • defer与async的区别
  • 强缓存与协商缓存
  • 在使用json进行深拷贝的时候,需要注意的问题
  • css的position属性的各个值,以及相对绝对定位,以及fixed定位

code

闭包

这道题目是在一个数组中存了很多匿名函数,匿名函数在for循环中访问外部的闭包的:

function func() {
    var arr = [];
    // var i 是个闭包


    // var i = 0
    // for(; i < 3; i++ ) { ... } 这样写也可以
    for (var i = 0; i < 3; i++) {
        arr.push(() => {
            console.log(i);
        });
    }
    return arr;
}

var result = func();
result.forEach((item) => {
    item(); // 期望输出 0, 1, 2,但实际打印了三个 3
});

TS 泛型函数

一个函数的参数是一个对象和一个他的键,需要用TS标出类型:

function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
    return obj[key];
}

最长连续重复字符的子串

function fn(str) {
    let pre = 0
    let cur = 1
    let n = str.length

    let ans = Array(n).fill(0)

    if (n === 0) return { subStr: '', pos: 0 }
    if (n === 1) return str

    for (let i = 1; i < n; i++) {
        if (str[cur] === str[pre]) {
            cur++
            ans[pre] = cur - pre + 1
        } else {
            cur++
            pre++
        }

    }

    let maxValue = Math.max(...ans)
    let maxIndex = ans.indexOf(maxValue)

    return { subStr: str.slice(maxIndex, maxIndex + maxValue - 1 < 0 ? 0 : maxIndex + maxValue - 1), pos: maxIndex }
}

// console.log(fn("ads11er"))
// console.log(fn("ads111er"))
// console.log(fn("adsw11677777er"))
// console.log(fn("adsw11677777er"))

// // console.log(fn())
// console.log(fn(""))
// console.log(fn("1111111111"))
console.log(fn("1234567"))
// console.log(fn("11223344"))